class Solution {
    public ListNode removeNthFromEnd(ListNode head, int n) {
        // 伪头节点
        ListNode cur = new ListNode(-1,head);
        ListNode ans = cur;
        ListNode fast = cur;
        for(int i=0; i<n; i++)
            fast = fast.next;
        while( fast.next!=null ){
            fast = fast.next;
            cur = cur.next;
        }
        // 删除节点
        cur.next = cur.next.next;
        return ans.next;
    }
}